无法识别java消息部分MyClass。(它是否存在于服务WSDL中?)
我想创建一个web服务,并基于一个工作项目创建一个项目。它适用于Storm and Boomerang肥皂&;REST客户端。 Boomerang生成这样的请求:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wse="http://wservices.yt/">
<x:Header/>
<x:Body>
<wse:PerformTransaction>
<request>
<password>?</password>
<username>?</username>
<amount>0</amount>
<parameters>
<paramKey>?</paramKey>
<paramValue>?</paramValue>
</parameters>
<serviceId>0</serviceId>
<transactionId>0</transactionId>
<transactionTime>2016-10-19T00:00:00</transactionTime>
</request>
</wse:PerformTransaction>
</x:Body>
</x:Envelope>
这是正常工作,但我必须得到以下要求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns1:PerformTransactionArguments xmlns:ns1="http://wservices.yt/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns1:PerformTransactionArguments">
<password>12345</password>
<username>test</username>
<amount>150000</amount>
<parameters>
<paramKey>customer_id</paramKey>
<paramValue>6324357</paramValue>
</parameters>
<parameters>
<paramKey>pin</paramKey>
<paramValue>12345678</paramValue>
</parameters>
<serviceId>1</serviceId>
<transactionId>437</transactionId>
<transactionTime>2011-04-26T18:07:22</transactionTime>
</ns1:PerformTransactionArguments>
</soapenv:Body>
</soapenv:Envelope>
当我使用对web服务的第二个请求进行测试时,会不断出现错误:
Message part PerformTransactionArguments was not recognized. (Does it exist in service WSDL?)
在wsdl
中,类被写成performTransactionArguments
。我不知道如何解决这个问题(这是我第一次遇到soap
&;wsdl
)。我花了大约一个星期的时间,所以请帮我解决这个问题
我发现了很多类似的问题,但我没有找到任何解决方案。 其中一个:exception when trying to call webservice
如果我可以显示一段代码或设置,但现在我不知道在这里添加什么
# 1 楼答案
您正在调用一个不存在的操作(
PerformTransactionArguments
)。第一个查询(PerformTransaction
)运行良好,因为您的wsdl契约中可能已经有了它